[2.0.x] Max7219 cleanup, simplify, and extend#11575
[2.0.x] Max7219 cleanup, simplify, and extend#11575thinkyhead merged 2 commits intoMarlinFirmware:bugfix-2.0.xfrom
Conversation
10f983e to
fbf627f
Compare
fbf627f to
5d51851
Compare
Probably this is OK. But doing this means we can only have one chain in the system. We can't have two chains. |
|
That's no different than how it already was, and I think that's fine. We only support one instance of most peripherals. |
|
Yes. Agreed! How about we Squash and merge. |
|
@thinkyhead This message is duplicated just to make sure you see it... At a -90 degree orientation with 2 units... X=8 & Y=16 The column command works OK. I can do a M7219 C2 V???? and get the right 16 bit pattern drawn on the display. However, the row command is broke. A M7219 R2 V?? of any 8 bit value fails to work. But the init_pattern=2 spiral pattern does look correct. At a 0 degree orientation with 2 units... X=16 & Y=8 The init pattern also seems to work correctly. At a 90 degree orientation with 2 units... X=8 & Y=16 Init spiral is wrong! M7219 R?? V?? is totally scrambled. M7219 C?? V?? is backwards. The LED's are sort of correct, but they are a mirror image. At 180 degree orientation with 2 units... X=16 & Y=8. Init pattern is sort of correct. But the two halves need to be exchanged for it to be correct. The LED's are in reverse order for M7219 C2 V254. M7219 C8 V255 puts the line on the wrong 8x8 matrix. How about we revert everything and just do one change at a time. Otherwise this is going to be too complicated to figure out??? If we make one change at a time... We will know when we go from a working state to a broken state. Perhaps the first thing to do is converting to a singleton with no logic changes??? |
Cleanups to Max7219 in the course of testing and debugging. No changes in core behavior.
.cppfile.M7219 D Vcommand to set a native row in the matrix directly to a byte value.Max7219.